// 该文件是 axios的配置代码

// 配置全局的请求根路径
axios.defaults.baseURL = 'http://api-breakingnews-web.itheima.net'

// 添加请求拦截器
axios.interceptors.request.use(
    function (config) {
        // ! 补充：字符串有 indexOf 方法用来检测指定字符的索引
        //          'abc'.indexOf('a') // 0
        //          'abc'.indexOf('f') // -1  表示字符串abc中没有f字符

        // 在发送请求之前做些什么 ==> 以 /my 开头的请求路径, 在请求头带上token
        if (config.url.indexOf('/my') !== -1) {
            config.headers.Authorization = localStorage.getItem('token')
        }

        // console.log(config)
        return config
    },
    function (error) {
        // 对请求错误做些什么
        return Promise.reject(error)
    }
)

// 添加响应拦截器
axios.interceptors.response.use(
    function (response) {
        // 对响应数据做点什么
        // console.log(response)

        // 控制访问权限
        if (
            response.data.status === 1 &&
            response.data.message === '身份认证失败！'
        ) {
            // 将token清除掉
            localStorage.removeItem('token')
            location.href = '/login.html'
        }

        return response
    },
    function (error) {
        // 对响应错误做点什么
        return Promise.reject(error)
    }
)
